
Apache JMeter는 Apache 소프트웨어 재단에서 제공하는 오픈소스 성능·부하 테스트 도구입니다. 주로 웹 애플리케이션과 관련 서비스의 처리량·응답시간·안정성 등을 측정하고 분석하는 데 사용됩니다. 주요 특징 - Java 기반으로 플랫폼 독립적이며 GUI와 커맨드라인(비GUI) 모드 둘 다 지원합니다. - HTTP/HTTPS 외에 FTP, JDBC, SMTP, JMS, TCP 등 다양한 프로토콜을 지원하여 웹서버, 데이터베이스, 메일서버, 메시지 브로커 등 여러 대상에 대한 테스트가 가능합니다. - 여러 사용자(스레드)를 시뮬레이션해 동시 접속 상황을 재현하고, 응답시간, 처리량(throughput), 오류율 등의 지표를 수집합니다. - 샘플러(Sampler), 리스너(Listener), 컨트롤러(Controller), 설정 요소(Config Element), 타이머, 전/후처리기 등 구성요소를 통해 복잡한 시나리오를 설계할 수 있습니다. - 분산(클러스터) 테스트를 지원해 여러 머신을 이용해 대량 트래픽을 생성할 수 있고, 플러그인으로 기능 확장이 가능합니다. - CI/CD 파이프라인과 연동해 자동화 테스트(예: Jenkins에서 커맨드라인 실행)로 활용할 수 있습니다. 일반적인 사용 사례 - 웹 애플리케이션의 부하/스트레스 테스트 - API 성능 테스트(REST/SOAP) - 데이터베이스 부하 테스트(JDBC) - 시스템 확장성 및 용량 계획 수립 - 서비스 변경 후 성능 회귀 테스트 장점과 한계 - 장점: 무료·오픈소스, 다양한 프로토콜 지원, 확장성(플러그인), 커맨드라인 자동화 가능. - 한계: 브라우저 렌더링(JavaScript 실행, 스타일·이미지 로딩 등)을 실제 브라우저처럼 완벽하게 시뮬레이션하지 않음(브라우저 수준 테스트 필요 시 Selenium/WebDriver 통합 사용), 대규모 테스트 시 클라이언트 측 리소스(메모리·CPU) 튜닝 필요. 요약하면, Apache JMeter는 네트워크·서버·애플리케이션의 성능을 측정하고 부하를 시뮬레이션해 문제를 발견·분석하는 데 널리 쓰이는 도구입니다.